Virtual machine hypervisors, or virtual machine monitors, are responsible for creating and running virtual machines on a host machine. The virtual machine hypervisor provides a simulated computing environment on the host machine, through which the virtual machine can interact with the host machine's resources, such as network access, peripheral device access, disk storage, computing resources, etc. Such resources often include a non-persistent memory (e.g., a random access memory) for temporarily storing data, and a persistent memory (e.g., a disk drive) for providing non-volatile data storage.
More than one virtual machine can be provisioned on a host machine. As a result, a high degree of repeated data is created among the virtual machines. Data deduplication can be used in such a virtualized computing environment to reduce storage requirements created by the provisioned virtual machines. How the data deduplication is employed, and how the persistent and non-persistent memory is utilized for providing the data deduplication, can have a significant impact on available system resources.